home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 011 / respro11.arc / RESPRO.DOC < prev   
Encoding:
Text File  |  1987-01-14  |  7.0 KB  |  153 lines

  1. Eric Gans
  2. French Department, UCLA
  3. Los Angeles CA, 90024
  4.  
  5.                          RESPRO.DOC v1.1
  6.                             01/14/86
  7.  
  8. Version 1.1: Added "C" command to clear memory, options to change 
  9. "hot keys."  RESPRO now checks for programs removed from  memory. 
  10. Also  a  few  minor  changes to  handle  troublesome  cases  like 
  11. Sidekick.
  12.  
  13.                               * * *
  14.  
  15.      If  like most DOS users you have filled your RAM with memory 
  16. resident  programs,  RESPRO  is for you.  RESPRO  allows  you  to 
  17. disable and reactivate memory-resident programs at any time, from 
  18. within  any  application.   You  can  clear your  memory  of  all 
  19. resident  programs,  or  remove  just  the  last  program  loaded 
  20. regardless of what it says in its user manual or DOC  file.  This 
  21. too  can be done from within other applications,  but errors  may 
  22. result  if these are themselves dynamically requesting memory  or 
  23. if they have reset interrupt addresses.
  24.  
  25.      RESPRO also includes an "uncrash" feature that allows you to 
  26. exit  a  hung program under most circumstances without having  to 
  27. reboot your computer.
  28.  
  29.  
  30.               How Do Memory-Resident Programs Work?
  31.  
  32.      Memory-resident  programs are loaded like any  others;  they 
  33. remain  resident  because  DOS allows them  to  keep  the  memory 
  34. originally  allocated  to  them.  If you load a  series  of  such 
  35. programs, they fill your RAM from the bottom up.
  36.  
  37.      But  residing  is only useful if these programs  can  remain 
  38. active.  They  accomplish  this by capturing "interrupt  vectors" 
  39. used by various computing activities. Most resident programs look 
  40. at  one or both of the keyboard interrupts (9 and 16h) to see  if 
  41. you  have  typed  the particular combination of  characters  that 
  42. triggers their operations.  If not, control is passed to the next 
  43. program down the list, and eventually to the BIOS that prints the 
  44. character on the screen.
  45.  
  46.                       How Does RESPRO Work
  47.  
  48.      RESPRO  itself operates by capturing interrupt  vectors  and 
  49. using  its  time of control to record information concerning  the 
  50. interrupts  used  by  other  memory  resident  programs.   RESPRO 
  51. records  all  changes  that follow the loading  of  new  resident 
  52. programs.  This  allows it to disable/reactivate  memory-resident 
  53. programs   by   bypassing/restoring  these   programs'   captured 
  54. interrupts.   RESPRO  1.1 also checks to see if a memory-resident 
  55. program has been removed independently of its own operations.  If 
  56. the  removed  program was not the last  loaded,  RESPRO  gives  a 
  57. warning message when you attempt to use it to disable,  activate, 
  58. or remove other programs.
  59.  
  60.                  Set-Up and Memory Requirements
  61.  
  62.      To  use RESPRO effectively,  you should load it  before  any 
  63. other  memory-resident  programs (including those that  tell  you 
  64. they  should  be loaded first).  RESPRO will only "see"  programs 
  65. loaded  after  it;  it will always appear as #1 on  its  list  of 
  66. memory-resident programs.
  67.  
  68.      RESPRO occupies about 11 K of memory, largely for buffers to 
  69. hold  interrupt  data.  It requires DOS 2.0 or higher.
  70.  
  71.                         RESPRO Operation
  72.  
  73.      RESPRO is evoked by typing Alt ` (grave accent).  (See below 
  74. for how to change this.)  On evocation, and after any command, it 
  75. displays a list of memory-resident programs, their load addresses 
  76. and the number of bytes they occupy.
  77.  
  78.      The command line permits the following operations:
  79.      
  80.      (V)erbose toggle:  Entering "v" toggles a mode that displays 
  81. the  interrupts  captured  by each  resident  program  and  their 
  82. addresses (segment:offset). This should be of use to programmers.
  83.  
  84.      (R)emove  last:  This will remove the last resident  program 
  85. from memory,  freeing the memory for other  applications.  RESPRO 
  86. will  not  allow  you to perform this operation  from  within  an 
  87. application  that has changed some of the interrupt vectors  used 
  88. in  the  program(s) you wish to remove,  since on  exiting  these 
  89. vectors  will  be reset to locations in the killed  program  that 
  90. will  eventually be overwritten.  But because RESPRO cannot check 
  91. for the future memory demands of your applications,  this command 
  92. should always be used with caution from within other programs.
  93.  
  94.      (C)lear  memory:    This  will  remove  all  memory-resident 
  95. programs  above RESPRO itself.   If your current application  has 
  96. reset  any  interrupt  vectors you will be required  to  exit  it 
  97. before using this command.
  98.  
  99.      (D)isable  #:  Entering "d3" will disable program  #3.  This 
  100. operation may be performed without danger at any time,  since  it 
  101. does not remove the program from memory.  A disabled program will 
  102. not  use  processor  time or perform  any  other  function.   Any 
  103. program thus disabled can be reactivated with the (A) command.
  104.  
  105.      (A)ctivate  #:  Enter  "a3" to reactivate  the  program  you 
  106. disabled  with "d3".   This operation too can be performed safely 
  107. at any time.
  108.  
  109.      Type <ESC> to exit. (No CR is necessary.)
  110.  
  111.      If you disable RESPRO it will remain in memory but no longer 
  112. be  operative,  and  you will no longer be able to  call  up  its 
  113. screen.  This is the one (obvious) exception to the rule that all 
  114. disabled programs can be reactivated.
  115.  
  116.      A few applications (like Xywrite) that capture the  keyboard 
  117. interrupts  for themselves will not let you call up RESPRO  while 
  118. they  are  running.  This  will not be the case  for  most  word-
  119. processors, spreadsheets, database programs, or BASIC.
  120.  
  121.                          Uncrash Feature
  122.  
  123.      Since  RESPRO  keeps interrupt tables,  it can  handle  this 
  124. function  more gracefully than other such programs.   If you  get 
  125. caught in an endless loop but your keyboard is still  alive,  you 
  126. can  exit  to  DOS  or the  "parent"  process  (e.g.,  DEBUG)  by 
  127. simultaneously  pressing the CAPS LOCK and the SCROLL LOCK  keys.  
  128. (This  operation  is independent of the current status  of  these 
  129. keys;  see  below  for how to change them.)  We can't  absolutely 
  130. guarantee  that everything will be all right on  exit,  but  this 
  131. procedure  may  allow you to save files that would  otherwise  be 
  132. lost.
  133.  
  134.                     Changing Hot Keys (v1.1)
  135.  
  136.      The  key  combinations used to evoke RESPRO may  be  changed 
  137. from the DOS prompt.  
  138.  
  139. respro c       will change the keys for normal operation
  140. respro u       will change the keys for "uncrash" operation
  141.  
  142. Normal  operation uses a normal key plus a combination of  shifts 
  143. (Ctl,  Alt,  Lshift,  Rshift).   The  uncrash feature requires  a 
  144. combination  of Ins,  Caps Lock,  Num Lock,  Scroll  Lock  and/or 
  145. Sysreq (for AT users).  Hold the shift keys down an instant until 
  146. the program registers the new values.
  147.  
  148.      These changes will be recorded on disk,  so RESPRO should be 
  149. in the current directory when running these commands.   They will 
  150. take effect the next time RESPRO is loaded into memory.
  151.  
  152.      Please inform me if you have any problems using RESPRO.
  153.